package com.jy.api.misc.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDate;
import java.util.Collection;
import java.util.Date;

/**
 * @author Alen
 * @date 2024/8/7 16:11
 * @since 2024/8/7 16:11
 */
@ApiModel("编码系统-代码model")
public class WSSYBMXTDaiMaDto {
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
    private Long id;
    @ApiModelProperty("标识符")
    private String biaoShiFu;
    @ApiModelProperty("类别名称")
    private String leiBieMC;
    @ApiModelProperty("版本")
    private Integer banBen;
    @ApiModelProperty("标准类型")
    private Integer biaoZhunLX;
    @ApiModelProperty("发布机构id")
    private String faBuJGID;
    @ApiModelProperty("发布机构")
    private String faBuJGMC;
    @ApiModelProperty("生效时间")
    private LocalDate shengXiaoSJ;
    @ApiModelProperty("失效时间")
    private LocalDate shiXiaoSJ;
    @ApiModelProperty("描述")
    private String miaoShu;
    @ApiModelProperty("状态。1：草稿，2：使用，3：作废")
    private Integer status;
    @ApiModelProperty("文件来源名称")
    private String laiYuanMC;
    @ApiModelProperty("文件来源文件的ID")
    private String laiYuanId;
    @ApiModelProperty("业务域来源")
    private String yeWuYuLY;
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date chuangJianSJ;
    @ApiModelProperty("修改时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date xiuGaiSJ;
    private String gengXinR;
    @ApiModelProperty("编码系统获取代码时的类型")
    private Integer type;
    @ApiModelProperty("发布时间")
    private LocalDate faBuSJ;
    private Collection<DaiMaDto> daiMaVoList;

    public WSSYBMXTDaiMaDto() {
    }

    public Long getId() {
        return this.id;
    }

    public String getBiaoShiFu() {
        return this.biaoShiFu;
    }

    public String getLeiBieMC() {
        return this.leiBieMC;
    }

    public Integer getBanBen() {
        return this.banBen;
    }

    public Integer getBiaoZhunLX() {
        return this.biaoZhunLX;
    }

    public String getFaBuJGID() {
        return this.faBuJGID;
    }

    public String getFaBuJGMC() {
        return this.faBuJGMC;
    }

    public LocalDate getShengXiaoSJ() {
        return this.shengXiaoSJ;
    }

    public LocalDate getShiXiaoSJ() {
        return this.shiXiaoSJ;
    }

    public String getMiaoShu() {
        return this.miaoShu;
    }

    public Integer getStatus() {
        return this.status;
    }

    public String getLaiYuanMC() {
        return this.laiYuanMC;
    }

    public String getLaiYuanId() {
        return this.laiYuanId;
    }

    public String getYeWuYuLY() {
        return this.yeWuYuLY;
    }

    public Date getChuangJianSJ() {
        return this.chuangJianSJ;
    }

    public Date getXiuGaiSJ() {
        return this.xiuGaiSJ;
    }

    public String getGengXinR() {
        return this.gengXinR;
    }

    public Integer getType() {
        return this.type;
    }

    public LocalDate getFaBuSJ() {
        return this.faBuSJ;
    }

    public Collection<DaiMaDto> getDaiMaVoList() {
        return this.daiMaVoList;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setBiaoShiFu(String biaoShiFu) {
        this.biaoShiFu = biaoShiFu;
    }

    public void setLeiBieMC(String leiBieMC) {
        this.leiBieMC = leiBieMC;
    }

    public void setBanBen(Integer banBen) {
        this.banBen = banBen;
    }

    public void setBiaoZhunLX(Integer biaoZhunLX) {
        this.biaoZhunLX = biaoZhunLX;
    }

    public void setFaBuJGID(String faBuJGID) {
        this.faBuJGID = faBuJGID;
    }

    public void setFaBuJGMC(String faBuJGMC) {
        this.faBuJGMC = faBuJGMC;
    }

    public void setShengXiaoSJ(LocalDate shengXiaoSJ) {
        this.shengXiaoSJ = shengXiaoSJ;
    }

    public void setShiXiaoSJ(LocalDate shiXiaoSJ) {
        this.shiXiaoSJ = shiXiaoSJ;
    }

    public void setMiaoShu(String miaoShu) {
        this.miaoShu = miaoShu;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public void setLaiYuanMC(String laiYuanMC) {
        this.laiYuanMC = laiYuanMC;
    }

    public void setLaiYuanId(String laiYuanId) {
        this.laiYuanId = laiYuanId;
    }

    public void setYeWuYuLY(String yeWuYuLY) {
        this.yeWuYuLY = yeWuYuLY;
    }

    public void setChuangJianSJ(Date chuangJianSJ) {
        this.chuangJianSJ = chuangJianSJ;
    }

    public void setXiuGaiSJ(Date xiuGaiSJ) {
        this.xiuGaiSJ = xiuGaiSJ;
    }

    public void setGengXinR(String gengXinR) {
        this.gengXinR = gengXinR;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public void setFaBuSJ(LocalDate faBuSJ) {
        this.faBuSJ = faBuSJ;
    }

    public void setDaiMaVoList(Collection<DaiMaDto> daiMaVoList) {
        this.daiMaVoList = daiMaVoList;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof WSSYBMXTDaiMaDto)) {
            return false;
        } else {
            WSSYBMXTDaiMaDto other = (WSSYBMXTDaiMaDto)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label251: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label251;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label251;
                    }

                    return false;
                }

                Object this$biaoShiFu = this.getBiaoShiFu();
                Object other$biaoShiFu = other.getBiaoShiFu();
                if (this$biaoShiFu == null) {
                    if (other$biaoShiFu != null) {
                        return false;
                    }
                } else if (!this$biaoShiFu.equals(other$biaoShiFu)) {
                    return false;
                }

                Object this$leiBieMC = this.getLeiBieMC();
                Object other$leiBieMC = other.getLeiBieMC();
                if (this$leiBieMC == null) {
                    if (other$leiBieMC != null) {
                        return false;
                    }
                } else if (!this$leiBieMC.equals(other$leiBieMC)) {
                    return false;
                }

                label230: {
                    Object this$banBen = this.getBanBen();
                    Object other$banBen = other.getBanBen();
                    if (this$banBen == null) {
                        if (other$banBen == null) {
                            break label230;
                        }
                    } else if (this$banBen.equals(other$banBen)) {
                        break label230;
                    }

                    return false;
                }

                label223: {
                    Object this$biaoZhunLX = this.getBiaoZhunLX();
                    Object other$biaoZhunLX = other.getBiaoZhunLX();
                    if (this$biaoZhunLX == null) {
                        if (other$biaoZhunLX == null) {
                            break label223;
                        }
                    } else if (this$biaoZhunLX.equals(other$biaoZhunLX)) {
                        break label223;
                    }

                    return false;
                }

                label216: {
                    Object this$faBuJGID = this.getFaBuJGID();
                    Object other$faBuJGID = other.getFaBuJGID();
                    if (this$faBuJGID == null) {
                        if (other$faBuJGID == null) {
                            break label216;
                        }
                    } else if (this$faBuJGID.equals(other$faBuJGID)) {
                        break label216;
                    }

                    return false;
                }

                Object this$faBuJGMC = this.getFaBuJGMC();
                Object other$faBuJGMC = other.getFaBuJGMC();
                if (this$faBuJGMC == null) {
                    if (other$faBuJGMC != null) {
                        return false;
                    }
                } else if (!this$faBuJGMC.equals(other$faBuJGMC)) {
                    return false;
                }

                label202: {
                    Object this$shengXiaoSJ = this.getShengXiaoSJ();
                    Object other$shengXiaoSJ = other.getShengXiaoSJ();
                    if (this$shengXiaoSJ == null) {
                        if (other$shengXiaoSJ == null) {
                            break label202;
                        }
                    } else if (this$shengXiaoSJ.equals(other$shengXiaoSJ)) {
                        break label202;
                    }

                    return false;
                }

                Object this$shiXiaoSJ = this.getShiXiaoSJ();
                Object other$shiXiaoSJ = other.getShiXiaoSJ();
                if (this$shiXiaoSJ == null) {
                    if (other$shiXiaoSJ != null) {
                        return false;
                    }
                } else if (!this$shiXiaoSJ.equals(other$shiXiaoSJ)) {
                    return false;
                }

                label188: {
                    Object this$miaoShu = this.getMiaoShu();
                    Object other$miaoShu = other.getMiaoShu();
                    if (this$miaoShu == null) {
                        if (other$miaoShu == null) {
                            break label188;
                        }
                    } else if (this$miaoShu.equals(other$miaoShu)) {
                        break label188;
                    }

                    return false;
                }

                Object this$status = this.getStatus();
                Object other$status = other.getStatus();
                if (this$status == null) {
                    if (other$status != null) {
                        return false;
                    }
                } else if (!this$status.equals(other$status)) {
                    return false;
                }

                Object this$laiYuanMC = this.getLaiYuanMC();
                Object other$laiYuanMC = other.getLaiYuanMC();
                if (this$laiYuanMC == null) {
                    if (other$laiYuanMC != null) {
                        return false;
                    }
                } else if (!this$laiYuanMC.equals(other$laiYuanMC)) {
                    return false;
                }

                label167: {
                    Object this$laiYuanId = this.getLaiYuanId();
                    Object other$laiYuanId = other.getLaiYuanId();
                    if (this$laiYuanId == null) {
                        if (other$laiYuanId == null) {
                            break label167;
                        }
                    } else if (this$laiYuanId.equals(other$laiYuanId)) {
                        break label167;
                    }

                    return false;
                }

                label160: {
                    Object this$yeWuYuLY = this.getYeWuYuLY();
                    Object other$yeWuYuLY = other.getYeWuYuLY();
                    if (this$yeWuYuLY == null) {
                        if (other$yeWuYuLY == null) {
                            break label160;
                        }
                    } else if (this$yeWuYuLY.equals(other$yeWuYuLY)) {
                        break label160;
                    }

                    return false;
                }

                Object this$chuangJianSJ = this.getChuangJianSJ();
                Object other$chuangJianSJ = other.getChuangJianSJ();
                if (this$chuangJianSJ == null) {
                    if (other$chuangJianSJ != null) {
                        return false;
                    }
                } else if (!this$chuangJianSJ.equals(other$chuangJianSJ)) {
                    return false;
                }

                Object this$xiuGaiSJ = this.getXiuGaiSJ();
                Object other$xiuGaiSJ = other.getXiuGaiSJ();
                if (this$xiuGaiSJ == null) {
                    if (other$xiuGaiSJ != null) {
                        return false;
                    }
                } else if (!this$xiuGaiSJ.equals(other$xiuGaiSJ)) {
                    return false;
                }

                label139: {
                    Object this$gengXinR = this.getGengXinR();
                    Object other$gengXinR = other.getGengXinR();
                    if (this$gengXinR == null) {
                        if (other$gengXinR == null) {
                            break label139;
                        }
                    } else if (this$gengXinR.equals(other$gengXinR)) {
                        break label139;
                    }

                    return false;
                }

                Object this$type = this.getType();
                Object other$type = other.getType();
                if (this$type == null) {
                    if (other$type != null) {
                        return false;
                    }
                } else if (!this$type.equals(other$type)) {
                    return false;
                }

                Object this$faBuSJ = this.getFaBuSJ();
                Object other$faBuSJ = other.getFaBuSJ();
                if (this$faBuSJ == null) {
                    if (other$faBuSJ != null) {
                        return false;
                    }
                } else if (!this$faBuSJ.equals(other$faBuSJ)) {
                    return false;
                }

                Object this$daiMaVoList = this.getDaiMaVoList();
                Object other$daiMaVoList = other.getDaiMaVoList();
                if (this$daiMaVoList == null) {
                    if (other$daiMaVoList != null) {
                        return false;
                    }
                } else if (!this$daiMaVoList.equals(other$daiMaVoList)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof WSSYBMXTDaiMaDto;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $biaoShiFu = this.getBiaoShiFu();
        result = result * 59 + ($biaoShiFu == null ? 43 : $biaoShiFu.hashCode());
        Object $leiBieMC = this.getLeiBieMC();
        result = result * 59 + ($leiBieMC == null ? 43 : $leiBieMC.hashCode());
        Object $banBen = this.getBanBen();
        result = result * 59 + ($banBen == null ? 43 : $banBen.hashCode());
        Object $biaoZhunLX = this.getBiaoZhunLX();
        result = result * 59 + ($biaoZhunLX == null ? 43 : $biaoZhunLX.hashCode());
        Object $faBuJGID = this.getFaBuJGID();
        result = result * 59 + ($faBuJGID == null ? 43 : $faBuJGID.hashCode());
        Object $faBuJGMC = this.getFaBuJGMC();
        result = result * 59 + ($faBuJGMC == null ? 43 : $faBuJGMC.hashCode());
        Object $shengXiaoSJ = this.getShengXiaoSJ();
        result = result * 59 + ($shengXiaoSJ == null ? 43 : $shengXiaoSJ.hashCode());
        Object $shiXiaoSJ = this.getShiXiaoSJ();
        result = result * 59 + ($shiXiaoSJ == null ? 43 : $shiXiaoSJ.hashCode());
        Object $miaoShu = this.getMiaoShu();
        result = result * 59 + ($miaoShu == null ? 43 : $miaoShu.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $laiYuanMC = this.getLaiYuanMC();
        result = result * 59 + ($laiYuanMC == null ? 43 : $laiYuanMC.hashCode());
        Object $laiYuanId = this.getLaiYuanId();
        result = result * 59 + ($laiYuanId == null ? 43 : $laiYuanId.hashCode());
        Object $yeWuYuLY = this.getYeWuYuLY();
        result = result * 59 + ($yeWuYuLY == null ? 43 : $yeWuYuLY.hashCode());
        Object $chuangJianSJ = this.getChuangJianSJ();
        result = result * 59 + ($chuangJianSJ == null ? 43 : $chuangJianSJ.hashCode());
        Object $xiuGaiSJ = this.getXiuGaiSJ();
        result = result * 59 + ($xiuGaiSJ == null ? 43 : $xiuGaiSJ.hashCode());
        Object $gengXinR = this.getGengXinR();
        result = result * 59 + ($gengXinR == null ? 43 : $gengXinR.hashCode());
        Object $type = this.getType();
        result = result * 59 + ($type == null ? 43 : $type.hashCode());
        Object $faBuSJ = this.getFaBuSJ();
        result = result * 59 + ($faBuSJ == null ? 43 : $faBuSJ.hashCode());
        Object $daiMaVoList = this.getDaiMaVoList();
        result = result * 59 + ($daiMaVoList == null ? 43 : $daiMaVoList.hashCode());
        return result;
    }

    public String toString() {
        return "WSSYBMXTDaiMaDto(id=" + this.getId() + ", biaoShiFu=" + this.getBiaoShiFu() + ", leiBieMC=" + this.getLeiBieMC() + ", banBen=" + this.getBanBen() + ", biaoZhunLX=" + this.getBiaoZhunLX() + ", faBuJGID=" + this.getFaBuJGID() + ", faBuJGMC=" + this.getFaBuJGMC() + ", shengXiaoSJ=" + this.getShengXiaoSJ() + ", shiXiaoSJ=" + this.getShiXiaoSJ() + ", miaoShu=" + this.getMiaoShu() + ", status=" + this.getStatus() + ", laiYuanMC=" + this.getLaiYuanMC() + ", laiYuanId=" + this.getLaiYuanId() + ", yeWuYuLY=" + this.getYeWuYuLY() + ", chuangJianSJ=" + this.getChuangJianSJ() + ", xiuGaiSJ=" + this.getXiuGaiSJ() + ", gengXinR=" + this.getGengXinR() + ", type=" + this.getType() + ", faBuSJ=" + this.getFaBuSJ() + ", daiMaVoList=" + this.getDaiMaVoList() + ")";
    }
}
